The present disclosure relates to a storage control apparatus. More specifically, the present disclosure relates to a storage control apparatus for a non-volatile memory, a storage apparatus employing the storage control apparatus, an information processing system employing the storage apparatus, a processing method provided for the storage control apparatus and a program to be executed by a computer for implementing the method.
In an information processing system, typically, a DRAM (Dynamic Random Access Memory) is used as a work memory. This DRAM is normally a volatile memory. That is to say, when the power supply of the DRAM is turned off, data stored in the DRAM is lost. In recent years, however, an NVM (Non-Volatile Memory) is used. The non-volatile memories are classified into two large categories. The first category is a flash memory which allows a storage unit with a large size to be used as an access unit in accesses to data stored in the memory. On the other hand, the second category is an NVRAM (Non-Volatile Random Access Memory) which allows a storage unit with a small size to be used as an access unit in accesses made at a high speed as random accesses to data stored in the memory. A representative of the flash memory is a NAND-type flash memory. On the other hand, typical examples of the non-volatile random access memory are a ReRAM (Resistance RAM), a PCRAM (Phase-Change RAM) and an MRAM (Magneto Resistive RAM).
The ReRAM is a non-volatile memory making use of a variable-resistance device. In the case of the ReRAM, it is not necessary to carry out an operation to erase data in block units prior to a data write operation. That is to say, it is possible to write data directly into only a desired page. At this point, the ReRAM is different from the NAND-type flash memory and the like which need to store a threshold value according to the amount of electric charge stored in a floating gate as data. The variable-resistance device can be used for storing 1-bit information by putting the device in one of two states, that is, an HRS (High Resistance State) and an LRS (Low Resistance State). However, the variable-resistance device has a problem that, if a voltage having the same polarity is applied to the variable-resistance device consecutively a number of times, the resistance of the device undesirably changes, deranging a resistance distribution. When the number of times the voltage having the same polarity is applied to the variable-resistance device increases for example, an HRS undesirably changes to an LRS and an LRS undesirably changes to an HRS. If the resistance of the variable-resistance device changes as described above, when a voltage having an opposite polarity is applied to the device after the voltage having the same polarity, with the voltage having a normal magnitude, it is feared that data cannot be stored in the device correctly or it is necessary to apply a voltage having a large absolute value to the device in order to store data correctly. In order to solve this problem, there is provided a write method disclosed in documents such as Japanese Patent Laid-open No. 2011-060388. According to this method, in the existing write operation, already written data is read out and compared with data to be written. Then, in accordance with the result of the comparison, only necessary bits selected from the already written data are written and/or erased.